package com.zlcx.tz.live.client.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author zhangxiaobin
 * @title: UserRelationVo
 * @description: TODO
 * @date 2019/4/2816:54
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(value = "用户关系")
public class UserRelationVO {

    @ApiModelProperty(value = "关注状态： 0未关注 1a关注b 2b关注a 3互相关注", required = true)
    private Integer followStatus;

    @ApiModelProperty(value = "粉丝状态： 0无关系 1a是b的粉丝 2b是a的粉丝 3互粉", required = true)
    private Integer fansStatus;

    @ApiModelProperty(value = "好友状态： 0无关系 1 好友", required = true)
    private Integer friendStatus;

    @ApiModelProperty(value = "发送好友绑定邀请状态  ： 0 未发送绑定邀请；1 a-b已发送邀请；2 b-a已发送邀请 3 好友 4互相发送", required = true)
    private Integer sendFriendState;

    @ApiModelProperty(value = "用户id，3.2.0版本新加")
    private Long userId;

    @ApiModelProperty(value = "对方用户id，3.2.0版本新加")
    private Long otherUserId;


    public enum FollowEnums {
        /**
         * 关注状态
         */
        nothing(0, "未关注"),
        userToOther(1, "当前用户关注对方"),
        otherToUser(2, "被关注"),
        each(3, "互关");

        public final Integer code;
        public final String desc;

        FollowEnums(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }
    }

    public enum FansEnums {
        /**
         * 粉丝状态
         */
        nothing(0, "无关系"),
        userToOther(1, "当前用户是对方的粉丝"),
        otherToUser(2, "对方是当前用户的粉丝"),
        each(3, "互粉");

        public final Integer code;
        public final String desc;

        FansEnums(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }
    }

    public enum FriendEnums {
        /**
         * 好友状态
         */
        nothing(0, "无关系"),
        friend(1, "道友");

        public final Integer code;
        public final String desc;

        FriendEnums(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }
    }


    public enum SendFriendStateEnums {
        /**
         * 发送结伴状态
         */
        nothing(0, "未发送"),
        userToOther(1, "当前用户发送给对方"),
        otherToUser(2, "对方发送给当前用户"),
        friends(3, "好友"),
        each(4, "互相发送");

        public final Integer code;
        public final String desc;

        SendFriendStateEnums(Integer code, String desc) {
            this.code = code;
            this.desc = desc;
        }
    }

}
